<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 给你两个有序整数数组 nums1 和 nums2， 请你将 nums2 合并到 nums1 中， 使 nums1 成为一个有序数组。

    // 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 的空间大小等于 m + n， 这样它就有足够的空间保存来自 nums2 的元素。

    /**
     * @param {number[]} nums1
     * @param {number} m
     * @param {number[]} nums2
     * @param {number} n
     * @return {void} Do not return anything, modify nums1 in-place instead.
     */
    // var merge = function (nums1, m, nums2, n) {
    //   return nums1 = [...nums1.splice(0,m),...nums2.splice(0,n)].sort((a,b)=>a-b)
    // };

    var merge = function (nums1, m, nums2, n) {
      let i = 0;
      let j = 0;
      let arr = [];
      while(i+j <= m+n){
        if(i===m&&j===n){
          return nums1 = arr
        }else if(i===m){
          return nums1 = arr.concat(nums2.splice(j))
        }else if(j===n){
          return nums1 = arr.concat(nums1.splice(i))
        }

        if(nums1[i]<=nums2[j]){
          arr.push(nums1[i])
          i++
        }else{
          arr.push(nums2[j])
          j++
        }
      }
    };

    console.log(merge([1,2,3,0,0,0],3,[2,5,6],3));


  </script>
</body>

</html>